package com.yvtian.inv.pojo;

import java.util.ArrayList;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 生产订单(inv_order)表实体类
 *
 * @author long
 * @since 2024-07-02 13:43:33
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "inv_order")
public class InvOrderEntity {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 生产订单编码
     */
    @TableField(value = "code")
    private String code;
    /**
     * 生产计划编码
     */
    @TableField(value = "plan_code")
    private String planCode;
    /**
     * BOM编码
     */
    @TableField(value = "bom_code")
    private String bomCode;
    /**
     * BOM名称
     */
    @TableField(value = "bom_name")
    private String bomName;
    /**
     * 商品编码
     */
    @TableField(value = "shop_code")
    private String shopCode;
    /**
     * 商品名称
     */
    @TableField(value = "shop_name")
    private String shopName;
    /**
     * 生产数量
     */
    @TableField(value = "make_quantity")
    private Integer makeQuantity;
    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;

    @TableField(exist = false)
    private String startTimeStr;
    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    @TableField(exist = false)
    private String endTimeStr;
    /**
     * 负责人
     */
    @TableField(value = "leader_username")
    private String leaderUsername;
    /**
     * 负责账号
     */
    @TableField(value = "leader_account")
    private String leaderAccount;
    /**
     * 生产状态
     */
    @TableField(value = "production_status")
    private String productionStatus;
    /**
     * 所属项目
     */
    @TableField(value = "project_code")
    private String projectCode;
    /**
     * 所属项目名称
     */
    @TableField(value = "project_name")
    private String projectName;
    /**
     * 领料状态：0、未完成；1：已完成
     */
    @TableField(value = "material_request_status")
    private String materialRequestStatus;
    /**
     * 0:未审核，1已审核
     */
    @TableField(value = "status")
    private Integer status;
    /**
     * 0:未删除，1已删除
     */
    @TableField(value = "is_del")
    private Integer isDel;
    @TableField(value = "del_time")
    private Date delTime;
    @TableField(value = "del_name")
    private String delName;
    @TableField(value = "create_time")
    private Date createTime;
    @TableField(value = "create_name")
    private String createName;
    @TableField(value = "create_user")
    private String createUser;
    @TableField(value = "update_time")
    private Date updateTime;
    @TableField(value = "update_name")
    private String updateName;
    @TableField(value = "update_user")
    private String updateUser;
    /**
     * 备注
     */
    @TableField(value = "remarks")
    private String remarks;
    /**
     * 审核人员
     */
    @TableField(value = "check_name")
    private String checkName;
    /**
     * 审核人员ID
     */
    @TableField(value = "check_user")
    private String checkUser;
    /**
     * 审核时间
     */
    @TableField(value = "check_time")
    private Date checkTime;

    /**
     * 包含的订单明细列表
     */
    @TableField(exist = false)
    private ArrayList<InvOrderShopEntity> invOrderItemList;

}

